草庐IT

java - 测试 getJSONArray 是否为 null

全部标签

javascript - 如何判断 XMLHttpRequest 是否因网络问题而失败?

在网络编程(JavaScript、Dart等)中,如何判断我的XMLHttpRequest(也称为AJAX)请求是否因网络错误而失败?我将网络错误定义为DNS、TCP、连接问题等。谢谢! 最佳答案 在Dartium中,至少在ChromeJS中,您可以通过看到状态为零的readyState==4(“完成”)来检测失败。零不是有效的服务器响应,所有HTTP服务器响应都在100以上,因此这意味着它实际上没有到达服务器(或者至少服务器没有使用正确的HTTP)。此时onError流也会得到一个进度事件。在同步模式下,将抛出错误。

javascript - 为什么 React 需要 jsdom 进行测试?

在为React组件编写测试时,您必须将它们渲染到DOM中,以便断言它们的正确性。例如,如果你想测试某个类是否被添加到给定某个状态的节点,你必须渲染到DOM节点,然后通过普通的DOMAPI检查该DOM节点。问题是,考虑到React维护一个虚拟DOM来渲染它,为什么我们不能在组件渲染后就在虚拟DOM上断言?在我看来,这是拥有虚拟DOM之类的东西的一个很好的理由。我错过了什么吗? 最佳答案 你真的没有错过任何东西。我们正在努力让它变得更好。虚拟部分一直是React的一个非常重要的实现细节,没有以任何有用或可靠的方式暴露出来进行测试。我们的

javascript - 基于java脚本中嵌套对象数组中的键对列表进行排序的最佳方法

我有以下内容:varlist=[{"item":[{a:5,a1:6,a2:7},{b:3,b1:4,b2:2}]},{"item":[{a:1,a1:2,a2:3},{b:4,b1:5,b2:6}]},{"item":[{a:2,a1:7,a2:4},{b:3,b1:7,b2:1}]}];假设我有上面的变量list,我怎样才能对它进行排序,使得list中具有item键的所有直接对象>根据键(即"a1"或"b")按升序排序。请注意,它不会更改或重新排序list[x]["item"]中的列表,而只会更改list[x]中的直接项目。标准排序函数似乎只对数组中对象内的键进行排序,但我想根据位

javascript - canvas getImageData 方法是否依赖于机器/浏览器?

一位客户需要有关提取产品图片主色的程序的帮助。我能够用Javascript快速实现它;下面的算法仅对图像上3x3网格的中心方block进行采样,以快速估计图像中的T恤颜色。varimage=newImage();image.onload=function(){try{//getdominantcolorbysamplingthecentralsquareofa3x3gridonimagevardominantColor=getDominantColor();//outputcolor$("#output").html(dominantColor);}catch(e){$("#outpu

javascript - `console.log` 是否在 node.js 中缓冲输出?

我想知道console.log是否在node.js中缓冲输出或尝试在每次调用时执行IO?这似乎没有正式记录。问题源于输出字符串数组的必要性,我认为哪种习惯用法更有效:array.forEach(function(line){console.log(line)})或console.log(array.join('\n'))谢谢 最佳答案 console.log()的文档可能没有指定它是否缓冲输出,因为它delegatesthatdecisiontoanunderlyingstream:Console.prototype.log=fun

javascript - .txt 文件和 .json 文件是否同样适用于存储 javascript 对象?

我可以简单地将.json文件的扩展名更改为.txt而不会出现问题吗?我的CMS的文件权限锁定了对扩展名为.json的文件的访问。这些权限现在无法更改。为了解决这个问题并仍然使用javascript对象,我将.json文件的扩展名更改为.txt。到目前为止一切顺利。这是一个合理的解决方案还是我应该担心将来会发生一些未知的灾难?过去我也能够使用JSONP加载跨域.txt文件,所以我认为这两种文件格式在存储js对象方面可能非常相似。 最佳答案 CanIsimplychangetheextensionofa.jsonfileto.txtwi

javascript - 如何检测用户是否在同一 session 中打开了多个窗口或选项卡?

我想检测用户是否在同一个session中打开了多个窗口或选项卡,如果他打开了-我想在屏幕上打印一条特殊信息。这个限制应该只在一个特殊的URL中起作用,所以如果用户打开了两个带有url的选项卡/窗口:http://page.com/limite.htm-我想打印特殊信息。当用户打开两个带有url的窗口/选项卡时:http://page.com/limite.htm和http://page.com/index.htm-一切正常,我不会显示任何信息。这可能吗?谢谢。 最佳答案 我认为最好的方法是使用localStorage。http://

javascript - Jasmine Controller 测试,预计 spy 已被调用

我在AngularJSController中定义了一个方法,该方法在初始化时调用。我想使用Jasmine("jasmine-core":"^2.3.4","karma":"^0.12.37")测试它。我遵循了Internet上的一些教程和StackOverflow问题,但找不到正确的答案。请看一下这段代码:ControllerusersAddUserController:(function(){'usestrict';angular.module('app.users.addUser').controller('usersAddUserController',['$scope','us

javascript - 不要在 jQuery 的 $.param() 中包含空字符串或 null

我正在使用jQuery的$.param()以下列格式序列化一个对象:varqueryParams={firstNm:null,lastNm:'M',id:null,email:null}当我使用$.param(queryParams)时,我得到以下信息:firstNm=&lastNm=M&id=&email=我想要的只是:lastNm=M我希望任何null或空的参数都不会出现在输出中。这是否可以使用jQuery的$.param(),还是需要自定义序列化?编辑:这不是thisquestion的副本.该问题更多地与MediaWikiAPI相关,并且与当参数为null或空时不包括=并且仅包括

javascript - null 和 undefined 不一致比较

我很想知道为什么null==undefined返回true但是null>=undefined返回false是否包含大于运算符以不同方式强制值? 最佳答案 tl;dr在这种情况下,>=最终将两个参数都强制转换为数字:undefined被强制转换为NaN而null被强制为0,这不相等。对于==,规范明确定义null==undefined为true。事实上,在这两种情况下,值都会被强制转换(至少在某种意义上-==的情况很特殊)。让我们在规范的帮助下一次考虑它们。algorithm>=运算符使用"AbstractRelationalComp